When a user enters a query into a search engine (typically by using keywords), the engine examines its index and provides a listing of best-matching web pages according to its criteria, usually with a short summary containing the document's title and sometimes parts of the text. Most search engines support the use of the Boolean operators such as AND, OR and NOT, for example, to further specify the search query. Whereas typical search engines look for the words or phrases exactly as entered (i.e., string matching), some search engines provide an advanced feature called proximity search, which allows users to define the distance between keywords. Further techniques also allow concept-based searching as well as natural language queries.
The usefulness of a search engine depends on the relevance of the result set that is returned. While there may be millions of web pages that include a particular word or phrase, some pages may be more relevant, popular, or authoritative than others. Most search engines employ methods to rank the results to provide the “best” results first. How a search engine decides which pages are the best matches, and what order the results should be shown in, varies widely from one engine to another.
Most Internet search engines are commercial ventures supported by advertising revenue and thus some of them allow advertisers and/or website owners/operators to have their listings ranked higher in search results for a fee. Furthermore, although search engines are programmed to rank websites based on some combination of their popularity and relevancy, empirical studies indicate various political, economic, and social biases in the information they provide.
Accordingly, it should be appreciated that although several advances have been made in Internet searching, there is still room for further improvement as will be detailed below.